Proving Correctness of Refinement and Implementation

نویسندگان

  • Joseph A. Goguen
  • Grant Malcolm
چکیده

The notions of state and observable behaviour are fundamental to many areas of computer scjpnce. Hidden sorted algebra, an extension of many sorted al~bra. captures these notions through hidden sorts and the behavioural satisfaction of equations. This makes it a powerful formalisation of abstract machines, and many results suggest that it is also suitable for the semanticl:i of the object paradigm. Another extension of many sorted algebra, namely order sorted algebra, hM proved useful in system specification and prototyping because of the way it handles subtypes and errors. The combination of these two algebraic approaches, hidden order sorted algebra, has also heen proposed as a foundation for object paradigm. and has mnch promise as a foundation for Software Engineering. This paper extends recent work on hidden order sorted algebra by investigat.ing: tbe re­ finement and implementation of bidden order sort.ed specificatious. We present definitions of rpfint'ment and implementatiou for such sppcifications, and tl'{:hniques for proving tbat one specification refines or implements another. It is important that the notions of relinement and implementation be tractable, in the sense that there are efficient techniques for proving their correctnpss. The proof techniques given in this paper lead, we believe, to correctness proofs that are much simpler than others in the literature. \Ve found that proving refinement is an effective way to prove implementation correctness. Some examples are given. AllY foundation for the spmantks of programming should also support modular specifi­ cations. The 'institutions' developed hy Goguen and Bllrstall are useful for this purpose. Institutions formalise the notion of logical system, and provide an encapsulation property for specifications: when oue specification is imported into another, properties that hold of that specification in isolation remain true in its uew context. An important technical r€Sult of this paper is that hidden order sorted algebra forms au institution, and therefore supports the modular specification of systems of objects. The paper also includes an exposition of hidden order sorted algebra, and brief introductions to many sorted algebra, order sorted algebra, and institutions.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Proving Skipping Refinement with ACL2s

We describe three case studies illustrating the use of ACL2s to prove the correctness of optimized reactive systems using skipping refinement. Reasoning about reactive systems using refinement involves defining an abstract, high-level specification system and a concrete, low-level implementation system. Next, one shows that the behaviors of the implementation system are allowed by the specifica...

متن کامل

Abstract Implementations and Correctness Proofs

IMPLEMENTATIONS AND CORRECTNESS PROOFS Gilles BERNOT, Michel BIDOIT, Christine CHOPPY Laboratoire de Recherche en Informatique Bât 490, Université PARIS-SUD F-91405 ORSAY CEDEX FRANCE ABSTRACT In this paper, we present a new semantics for the implementation of abstract data types. This semantics leads to a simple, exhaustive description of the abstract implementation correctness criteria. These...

متن کامل

Proving Behavioral Refinements of COL-specifications

The COL institution (constructor-based observational logic) has been introduced as a formal framework to specify both generationand observation-oriented properties of software systems. In this paper we consider behavioral refinement relations between COL-specifications taking into account implementation constructions. We propose a general strategy for proving the correctness of such refinements...

متن کامل

Correctness Proofs for Abstract Implementations

New syntax and semantics for implementation of abstract data types are presented in this paper. This formalism leads to a simple, exhaustive description of the abstract implementation correctness criteria. These correctness criteria are expressed in terms of sufficient completeness and hierarchical consistency. Thus, correctness proofs of abstract implementations can be handled using classical ...

متن کامل

Skipping Refinement

We introduce skipping refinement, a new notion of correctness for reasoning about optimized reactive systems. Reasoning about reactive systems using refinement involves defining an abstract, highlevel specification system and a concrete, low-level implementation system. One then shows that every behavior allowed by the implementation is also allowed by the specification. Due to the difference i...

متن کامل

Proving Linearizability of Multiset with Local Proof Obligations

Linearizability is a key correctness criterion for concurrent software. In our previous work, we introduced local proof obligations, which, by showing a refinement between an abstract specification and its implementation, imply linearizability of the implementation. The refinement is shown via a thread local backward simulation, which reduces the complexity of a backward simulation to an execut...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009